package com.itheima.redbaby.net;

import org.apache.commons.lang3.StringUtils;

import com.itheima.redbaby.GloableParams;


import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

public class NetUtil {
	
	/**
	 * 判断用户的手机网络
	 * @param context
	 * @return
	 */
	public static boolean checkNetwork(Context context)
	{
		//区分使用的联网方式
		//如果利用基站上网，wap和net
		//区分办法：判断代理的ip内容，如果非空使用wap
		//如果两种都不能上网，提示无网络
		
		boolean isWifi=isWifiConnection(context);
		boolean isBaseState=isBaseStateConnection(context);
		
		if(!isWifi&& !isBaseState){
			return false;
		}
		
		if(isBaseState)
		{
			String ip=android.net.Proxy.getDefaultHost();
			if(StringUtils.isNotBlank(ip))
			{
				GloableParams.isWap=true;
			}
		}
		
		return true;
	}
	
	/**
	 * 判断基站是否可连接
	 * @param context
	 * @return
	 */
	private static boolean isBaseStateConnection(Context context) {
		ConnectivityManager cm=	(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo info = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
		if(info!=null){
			return info.isConnected();
		}
			
			return false;
		}
	

	/**
	 * 
	 * @param context
	 * @return
	 */
	private static boolean isWifiConnection(Context context) {
	ConnectivityManager cm=	(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
	NetworkInfo info = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
	if(info!=null){
		return info.isConnected();
	}
		
		return false;
	}
}
